/**
 */
package de.thwildau.tm.moses.xabnf.xabnf;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see de.thwildau.tm.moses.xabnf.xabnf.XabnfFactory
 * @model kind="package"
 * @generated
 */
public interface XabnfPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "xabnf";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.thwildau.de/tm/moses/xabnf/Xabnf";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "xabnf";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  XabnfPackage eINSTANCE = de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl.init();

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfImpl <em>Xabnf</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfImpl
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getXabnf()
   * @generated
   */
  int XABNF = 0;

  /**
   * The feature id for the '<em><b>Generator Model</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int XABNF__GENERATOR_MODEL = 0;

  /**
   * The feature id for the '<em><b>Bindings</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int XABNF__BINDINGS = 1;

  /**
   * The number of structural features of the '<em>Xabnf</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int XABNF_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.GeneratorModelImpl <em>Generator Model</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.GeneratorModelImpl
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getGeneratorModel()
   * @generated
   */
  int GENERATOR_MODEL = 1;

  /**
   * The feature id for the '<em><b>File</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GENERATOR_MODEL__FILE = 0;

  /**
   * The feature id for the '<em><b>Language</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GENERATOR_MODEL__LANGUAGE = 1;

  /**
   * The feature id for the '<em><b>Package</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GENERATOR_MODEL__PACKAGE = 2;

  /**
   * The feature id for the '<em><b>Entry Rule</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GENERATOR_MODEL__ENTRY_RULE = 3;

  /**
   * The feature id for the '<em><b>Encoding</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GENERATOR_MODEL__ENCODING = 4;

  /**
   * The number of structural features of the '<em>Generator Model</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int GENERATOR_MODEL_FEATURE_COUNT = 5;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.BindingsImpl <em>Bindings</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.BindingsImpl
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getBindings()
   * @generated
   */
  int BINDINGS = 2;

  /**
   * The feature id for the '<em><b>Binding</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BINDINGS__BINDING = 0;

  /**
   * The number of structural features of the '<em>Bindings</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BINDINGS_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.BindingImpl <em>Binding</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.BindingImpl
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getBinding()
   * @generated
   */
  int BINDING = 3;

  /**
   * The feature id for the '<em><b>Rule</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BINDING__RULE = 0;

  /**
   * The number of structural features of the '<em>Binding</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BINDING_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.RuleBindingImpl <em>Rule Binding</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.RuleBindingImpl
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getRuleBinding()
   * @generated
   */
  int RULE_BINDING = 4;

  /**
   * The feature id for the '<em><b>Rule</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_BINDING__RULE = BINDING__RULE;

  /**
   * The feature id for the '<em><b>Target Rule Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_BINDING__TARGET_RULE_NAME = BINDING_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Field Bindings</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_BINDING__FIELD_BINDINGS = BINDING_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Rule Binding</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_BINDING_FEATURE_COUNT = BINDING_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.FieldBindingImpl <em>Field Binding</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.FieldBindingImpl
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getFieldBinding()
   * @generated
   */
  int FIELD_BINDING = 5;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_BINDING__NAME = 0;

  /**
   * The feature id for the '<em><b>Type</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_BINDING__TYPE = 1;

  /**
   * The feature id for the '<em><b>Target Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_BINDING__TARGET_NAME = 2;

  /**
   * The number of structural features of the '<em>Field Binding</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_BINDING_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.ClassBindingImpl <em>Class Binding</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.ClassBindingImpl
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getClassBinding()
   * @generated
   */
  int CLASS_BINDING = 6;

  /**
   * The feature id for the '<em><b>Rule</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CLASS_BINDING__RULE = BINDING__RULE;

  /**
   * The feature id for the '<em><b>Class Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CLASS_BINDING__CLASS_NAME = BINDING_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Method Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CLASS_BINDING__METHOD_NAME = BINDING_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Class Binding</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CLASS_BINDING_FEATURE_COUNT = BINDING_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.xabnf.xabnf.Language <em>Language</em>}' enum.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.xabnf.xabnf.Language
   * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getLanguage()
   * @generated
   */
  int LANGUAGE = 7;


  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.xabnf.xabnf.Xabnf <em>Xabnf</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Xabnf</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Xabnf
   * @generated
   */
  EClass getXabnf();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.xabnf.xabnf.Xabnf#getGeneratorModel <em>Generator Model</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Generator Model</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Xabnf#getGeneratorModel()
   * @see #getXabnf()
   * @generated
   */
  EReference getXabnf_GeneratorModel();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.xabnf.xabnf.Xabnf#getBindings <em>Bindings</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Bindings</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Xabnf#getBindings()
   * @see #getXabnf()
   * @generated
   */
  EReference getXabnf_Bindings();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel <em>Generator Model</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Generator Model</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel
   * @generated
   */
  EClass getGeneratorModel();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getFile <em>File</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>File</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getFile()
   * @see #getGeneratorModel()
   * @generated
   */
  EAttribute getGeneratorModel_File();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getLanguage <em>Language</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Language</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getLanguage()
   * @see #getGeneratorModel()
   * @generated
   */
  EAttribute getGeneratorModel_Language();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getPackage <em>Package</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Package</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getPackage()
   * @see #getGeneratorModel()
   * @generated
   */
  EAttribute getGeneratorModel_Package();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getEntryRule <em>Entry Rule</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Entry Rule</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getEntryRule()
   * @see #getGeneratorModel()
   * @generated
   */
  EReference getGeneratorModel_EntryRule();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getEncoding <em>Encoding</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Encoding</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.GeneratorModel#getEncoding()
   * @see #getGeneratorModel()
   * @generated
   */
  EAttribute getGeneratorModel_Encoding();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.xabnf.xabnf.Bindings <em>Bindings</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Bindings</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Bindings
   * @generated
   */
  EClass getBindings();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.xabnf.xabnf.Bindings#getBinding <em>Binding</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Binding</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Bindings#getBinding()
   * @see #getBindings()
   * @generated
   */
  EReference getBindings_Binding();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.xabnf.xabnf.Binding <em>Binding</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Binding</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Binding
   * @generated
   */
  EClass getBinding();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.xabnf.xabnf.Binding#getRule <em>Rule</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Rule</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Binding#getRule()
   * @see #getBinding()
   * @generated
   */
  EReference getBinding_Rule();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.xabnf.xabnf.RuleBinding <em>Rule Binding</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Rule Binding</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.RuleBinding
   * @generated
   */
  EClass getRuleBinding();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.RuleBinding#getTargetRuleName <em>Target Rule Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Target Rule Name</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.RuleBinding#getTargetRuleName()
   * @see #getRuleBinding()
   * @generated
   */
  EAttribute getRuleBinding_TargetRuleName();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.xabnf.xabnf.RuleBinding#getFieldBindings <em>Field Bindings</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Field Bindings</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.RuleBinding#getFieldBindings()
   * @see #getRuleBinding()
   * @generated
   */
  EReference getRuleBinding_FieldBindings();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.xabnf.xabnf.FieldBinding <em>Field Binding</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Field Binding</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.FieldBinding
   * @generated
   */
  EClass getFieldBinding();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.FieldBinding#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.FieldBinding#getName()
   * @see #getFieldBinding()
   * @generated
   */
  EAttribute getFieldBinding_Name();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.xabnf.xabnf.FieldBinding#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.FieldBinding#getType()
   * @see #getFieldBinding()
   * @generated
   */
  EReference getFieldBinding_Type();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.FieldBinding#getTargetName <em>Target Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Target Name</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.FieldBinding#getTargetName()
   * @see #getFieldBinding()
   * @generated
   */
  EAttribute getFieldBinding_TargetName();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.xabnf.xabnf.ClassBinding <em>Class Binding</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Class Binding</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.ClassBinding
   * @generated
   */
  EClass getClassBinding();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.ClassBinding#getClassName <em>Class Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Class Name</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.ClassBinding#getClassName()
   * @see #getClassBinding()
   * @generated
   */
  EAttribute getClassBinding_ClassName();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.xabnf.xabnf.ClassBinding#getMethodName <em>Method Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Method Name</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.ClassBinding#getMethodName()
   * @see #getClassBinding()
   * @generated
   */
  EAttribute getClassBinding_MethodName();

  /**
   * Returns the meta object for enum '{@link de.thwildau.tm.moses.xabnf.xabnf.Language <em>Language</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for enum '<em>Language</em>'.
   * @see de.thwildau.tm.moses.xabnf.xabnf.Language
   * @generated
   */
  EEnum getLanguage();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  XabnfFactory getXabnfFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfImpl <em>Xabnf</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfImpl
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getXabnf()
     * @generated
     */
    EClass XABNF = eINSTANCE.getXabnf();

    /**
     * The meta object literal for the '<em><b>Generator Model</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference XABNF__GENERATOR_MODEL = eINSTANCE.getXabnf_GeneratorModel();

    /**
     * The meta object literal for the '<em><b>Bindings</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference XABNF__BINDINGS = eINSTANCE.getXabnf_Bindings();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.GeneratorModelImpl <em>Generator Model</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.GeneratorModelImpl
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getGeneratorModel()
     * @generated
     */
    EClass GENERATOR_MODEL = eINSTANCE.getGeneratorModel();

    /**
     * The meta object literal for the '<em><b>File</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute GENERATOR_MODEL__FILE = eINSTANCE.getGeneratorModel_File();

    /**
     * The meta object literal for the '<em><b>Language</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute GENERATOR_MODEL__LANGUAGE = eINSTANCE.getGeneratorModel_Language();

    /**
     * The meta object literal for the '<em><b>Package</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute GENERATOR_MODEL__PACKAGE = eINSTANCE.getGeneratorModel_Package();

    /**
     * The meta object literal for the '<em><b>Entry Rule</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference GENERATOR_MODEL__ENTRY_RULE = eINSTANCE.getGeneratorModel_EntryRule();

    /**
     * The meta object literal for the '<em><b>Encoding</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute GENERATOR_MODEL__ENCODING = eINSTANCE.getGeneratorModel_Encoding();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.BindingsImpl <em>Bindings</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.BindingsImpl
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getBindings()
     * @generated
     */
    EClass BINDINGS = eINSTANCE.getBindings();

    /**
     * The meta object literal for the '<em><b>Binding</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BINDINGS__BINDING = eINSTANCE.getBindings_Binding();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.BindingImpl <em>Binding</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.BindingImpl
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getBinding()
     * @generated
     */
    EClass BINDING = eINSTANCE.getBinding();

    /**
     * The meta object literal for the '<em><b>Rule</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference BINDING__RULE = eINSTANCE.getBinding_Rule();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.RuleBindingImpl <em>Rule Binding</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.RuleBindingImpl
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getRuleBinding()
     * @generated
     */
    EClass RULE_BINDING = eINSTANCE.getRuleBinding();

    /**
     * The meta object literal for the '<em><b>Target Rule Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute RULE_BINDING__TARGET_RULE_NAME = eINSTANCE.getRuleBinding_TargetRuleName();

    /**
     * The meta object literal for the '<em><b>Field Bindings</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RULE_BINDING__FIELD_BINDINGS = eINSTANCE.getRuleBinding_FieldBindings();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.FieldBindingImpl <em>Field Binding</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.FieldBindingImpl
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getFieldBinding()
     * @generated
     */
    EClass FIELD_BINDING = eINSTANCE.getFieldBinding();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIELD_BINDING__NAME = eINSTANCE.getFieldBinding_Name();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD_BINDING__TYPE = eINSTANCE.getFieldBinding_Type();

    /**
     * The meta object literal for the '<em><b>Target Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIELD_BINDING__TARGET_NAME = eINSTANCE.getFieldBinding_TargetName();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.impl.ClassBindingImpl <em>Class Binding</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.ClassBindingImpl
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getClassBinding()
     * @generated
     */
    EClass CLASS_BINDING = eINSTANCE.getClassBinding();

    /**
     * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute CLASS_BINDING__CLASS_NAME = eINSTANCE.getClassBinding_ClassName();

    /**
     * The meta object literal for the '<em><b>Method Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute CLASS_BINDING__METHOD_NAME = eINSTANCE.getClassBinding_MethodName();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.xabnf.xabnf.Language <em>Language</em>}' enum.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.xabnf.xabnf.Language
     * @see de.thwildau.tm.moses.xabnf.xabnf.impl.XabnfPackageImpl#getLanguage()
     * @generated
     */
    EEnum LANGUAGE = eINSTANCE.getLanguage();

  }

} //XabnfPackage
